Diseño y características de la planta
Como primer paso se realizó el modelamiento matemático del motor DC, para simplificar el análisis y la implementación, se considerara un motor universal de corriente continua.
En nuestro diseño se utilizó un motor DC de hasta 12V el cual esta acoplado a una pequeña estructura de madera que hace la parte de estabilizar toda la planta.
Detalle de parámetros de desempeño del sistema
Modelo Real
Ilustración 11 DIAGRAMA PLANTA REAL
Pesos máximo bobinas: Desde 1.000 hasta 15.000 Kgs
Anchos máximo bobinas: Desde 450 hasta 1.500 mm.
Diámetro exterior máximo bobina: 1.600 mm.
Diámetro de expansión mandrino: De 470 a 520 mm.
Velocidad de desenrollado: 700 R.P.M.
Potencia motor: 3 Kw.
Tensión de alimentación: 380 V 50 Hz.
Sentido de trabajo: A definir
Sistema implementado
Ilustración 12 PLANTA IMPLEMENTADA
ANÁLISIS DE LA PLANTA
Mediciones obtenidas
Para comprobar el correcto funcionamiento de nuestro sistema de medición se comprobó con un tacómetro digital de fábrica obteniendo valores similares:
Sin Carga
La razón fue determinada a través de los siguientes datos presentados en la tabla
Linealidad y Rango de Operación
volt=[4 4.2 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10.1 10.6 10.9 11.6 11.9 12.17];
rpm=[330 359 402 475 548 621 693 766 839 911 984 1057 1130 1217 1290 1333 1435 1479 1518]
plot(rpm,volt)
Ilustración 13 LINEALIDAD
Rango de velocidad a controlar
Sustituyendo con los valores obtenidos en el muestreo tenemos:
1518=12,17m+b
Ecuación 1
330= 4m+b
Ecuación 2
Realizando el sistema de ecuaciones:
m= 145,41
b= -251,64
RPM= 145,41 Volt + (- 251,64)
Identificación del sistema en MATLAB
Matlab dispone de una amplia colección de funciones aplicables al campo de la identificación de sistemas, agrupadas en el System Identification Toolbox, que constituyen una herramienta de gran utilidad para la identificación y modelado de sistemas dinámicos.
Funcionamiento comando IDENT
Estructura de la ventana principal
Ilustración 14 IDENT
La ventana principal se divide en las siguientes partes:
a) Los tableros de datos y de modelos.
Como se observa en la figura, la ventana dispone de dos zonas con varios recuadros cada una:
El tablero de datos está situado en la zona izquierda de la pantalla, y permite incluir en cada uno de los recuadros un conjunto distinto de datos de entrada salida, representados por un icono.
El tablero de modelos está en la zona derecha de la pantalla, y puede contener en cada uno de sus recuadros diferentes modelos obtenidos a partir de la identificación realizada con datos del tablero de datos. Cada modelo quedará representado también por un icono distinto.
Los datos del tablero de datos pueden provenir de las siguientes fuentes:
1. De otras sesiones anteriores con el GUI.
2. Del Workspace de Matlab.
3. Del tratamiento de otro conjunto de datos contenido en el tablero de datos.
Por su parte, los modelos pueden provenir de las siguientes fuentes:
1. De sesiones anteriores con el GUI.
2. Del Workspace de Matlab.
3. De la identificación a partir de los datos contenidos en el tablero de datos.
b) Los datos de trabajo.
Todos los procesos realizados mediante el GUI actúan sobre los llamados "Datos de Trabajo", contenidos en el recuadro central de la ventana ("working data").
Para modificar los datos de trabajo basta con arrastrar con el ratón el icono con los nuevos datos de trabajo desde el tablero de datos hasta el recuadro "working data".
c) Los datos de validación.
Del mismo modo, todos los procesos del GUI que necesiten datos para validación los tomarán del recuadro ("validation data") situado debajo del tablero de modelos.
d) Las representaciones ("Views")
Tanto los datos de entrada-salida como los modelos pueden representarse en pantalla de diversas formas.
Para representar en pantalla un conjunto de datos del tablero de datos, en primer lugar hay que hacer "clic" con el ratón sobre su icono, quedando éste resaltado mediante una línea más gruesa. Pueden seleccionarse varios conjuntos de datos simultáneamente. Para desactivar un conjunto de datos, se vuelve a hacer "clic" con el ratón sobre su icono. A continuación se selecciona en el menú de Data Views el tipo de representación que se desea: representación temporal de las señales ("Time plot") o del espectro de las mismas ("Data espectral").
Con los modelos se procede de igual manera, seleccionando con el ratón aquéllos que se quieren representar, y escogiendo el tipo de representación entre salida del modelo ("Model output"), residuos del modelo ("Model resids"), respuesta transitoria ("Transient resp"), respuesta frecuencial ("Frecuency resp"), ceros y polos ("Zeros and poles") y espectro del ruido ("Noise spectrum").
e) Variables del Workspace
Los conjuntos de datos o los modelos creados mediante el interfaz gráfico generalmente no están visibles desde el Workspace. Sin embargo, esta información puede ser exportada en cualquier momento al Workspace sin más que arrastrar con el ratón el icono de los datos o el modelo correspondiente. El nombre de la matriz con la información del modelo o de los datos coincidirá con el del icono dentro del interfaz gráfico.
Adquisición de datos MATLAB
Sin Carga
Ilustración 15 GRAFICA OBTENIDA CON LOS DATOS ADQUIRIDOS
Ilustración 16 INTERPOLACIÓN DE LOS DATOS
Ilustración 17 MODELO MATEMÁTICO
Respuesta al escalón del sistema:
Ilustración 18 RESPUESTA ESCALÓN
Polos y Ceros del sistema:
Ilustración 19 POLOS Y CERO
Con Carga
Ilustración 20 GRAFICA OBTENIDA CON LOS DATOS ADQUIRIDOS
Ilustración 21 INTERPOLACIÓN
Ilustración 22 MODELO MATEMÁTICO
Ilustración 23 RESPUESTA ESCALÓN
Ilustración 24 POLOS Y CEROS
Conclusiones
El primer punto que se trató en este trabajo fue la descripción del funcionamiento de un motor de corriente continua, donde se analizaron los diferentes aspectos relacionados con su funcionamiento, y los parámetros que influyen en el control de la velocidad de los mismos. A partir de esto se obtuvo un modelo matemático, donde, están contemplados dichos parámetros. Dicho modelo matemático es una aproximación bastante exacta del comportamiento real del sistema.
Un mayor número de orificios en la rueda utilizada en la etapa de sensado da una mayor fidelidad en la medición
Se deben tomar un mayor número de muestras para conseguir una mejor aproximación en el dominio del tiempo e implementando el comando IDENT con el vector de datos, se tendrá una mejor aproximación en el dominio de la frecuencia
Podemos concluir que nuestra planta no es tan fidedigna dado que carece de un compensador.
Recomendaciones
Es necesario tener cuidado al momento de realizar las conexiones, especialmente en lo que se refiere a la etapa del microcontrolador y la PC ya que si el circuito genera alguna corriente de fuga, el puerto de la computadora se puede dañar permanentemente.
La superficie sobre la que se coloca el motor debe ser fija para no tener variaciones externas en la medición de las rpm.
Para realizar la adquisición de datos mediante el puerto serial un buen procedimiento es comprobar que el puerto COM utilizado es el correcto mediante el hiperterminal.
Se debe tener cuidando en las alimentaciones, ya que se están utilizando voltajes de 5 voltios para alimentar al PIC y de 12 voltios para alimentar el motor.
Bibliografía
http://bibdigital.epn.edu.ec/bitstream/15000/420/1/CD-0400.pdf
Sistema-motor-ident.pdf
Control_de_un_motor_de_velocidad.pdf
Anexos
Programa en MATLAB
clear all;
close all;
clc;
PS=serial('COM4'); % puerto serial utilizado
puerto serial
set(PS,'Baudrate',9600); % se configura la velocidad a 9600 Baudios
set(PS,'StopBits',1); % se configura bit de parada a uno
set(PS,'DataBits',8); % se configura que el dato es de 8 bits, debe estar entre 5 y 8
set(PS,'Parity','none'); % se configura sin paridad
set(PS,'Terminator','CR/LF'); % "c" caracter con que finaliza el envío
set(PS,'OutputBufferSize',1); % "n" es el número de bytes a enviar
set(PS,'InputBufferSize' ,1); % "n" es el número de bytes a recibir
set(PS,'Timeout',5); % 5 segundos de tiempo de espera
fopen(PS);
K1= 0;
K= [];
for i=1:200 % numero de repeticiones
K1 = fread(PS,1, 'char') % datos leidos
pause(0.01)
K(i)=K1; %datos almacenados
aux2=(K(i)*1000)/256; %conversion de resolucion de 8 bits
K(i)=aux2; %datos almacenados nuevamente
K1=0;
end;
K=K*2;
disp('Numero de datos leidos:')
length(K)
fclose(PS);
delete(PS);
clear PS;
plot(K) % dibuja el vector de salida
w=length(K);
o=1:1:w;
n=4; % número
syms x; % define la variable simbólica para crear el polinomio
xn=o; % abscisas de los puntos a interpolar
yn=K; % ordenadas de estas abscisas
figure(2)
plot(xn,yn,'*r')% dibuja los puntos a interpolar
p=0; % inicializa el polinomio de interpolación que empezará a calcular
for i=1:n
L=1;
for j=1:n
if j~=i
L=L*(x-xn(j))/(xn(i)-xn(j));
end
end
p=p+L*yn(i); % forma de Lagrange
end
p=simplify(p);
pretty(p) % muestra el polinomio en pantalla
Programa PIC 16F877A
#include "C:ESPEseptimocontrolplantacontrol de velocidadnuevo1.h"
#fuses HS,NOWDT,NOLVP
#define LCD_DATA_PORT getenv("SFR:PORTD")
#include
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_c6, rcv=PIN_c7)
#bit t1_overflow=0x0C.0
float volt=0;
void main() {
int cycles8, cycles;
int32 freq,rpm;
long freqc_high;
long freqc_low;
lcd_init();
while (TRUE) {
cycles8=0;
cycles=0;
freqc_high=0;
t1_overflow=0;
set_timer1(0);
setup_timer_1(T1_EXTERNAL|T1_DIV_BY_1);
//PARA EL CONVERSOR AD
setup_adc_ports(AN0_AN1_AN3);
setup_adc(ADC_CLOCK_DIV_2);
set_adc_channel(0);
volt=read_adc();
while (cycles!=0xFF) {
cycles8=0;
while (cycles8!=0xFF) {
if (t1_overflow)
{t1_overflow=0;freqc_high++;}
else
{delay_cycles(5);}
delay_cycles(62);
cycles8++;
}
delay_cycles(216);
cycles++;
}
delay_cycles(211);
setup_timer_1(T1_DISABLED);
if (t1_overflow)
freqc_high++;
freqc_low=get_timer1();
freq=make32(freqc_high,freqc_low);
rpm=freq*2;
printf("%Lu ",rpm);
Lcd_putc ("f");
lcd_gotoxy(1,1);
printf(lcd_putc,"Freq = %LU Hz",freq);
lcd_gotoxy(1,2);
printf(lcd_putc,"%LU RPM",rpm);
delay_ms(10);
}
}
Tacómetro Digital
Dispositivo para comprobar el correcto funcionamiento del sensor.
Ilustración 25 DISPOSITIVO DT2234C
Características Técnicas
Tacómetro Láser
Presentación: Pantalla LCD de 18 mm. y 5 dígitos
Rango: Autorango
Resolución: 0,1 rpm (2,5 – 99,999 rpm) y 1,0 rpm (> 1.000 rpm)
Precisión: 0,05%
Tiempo de muestreo: 0,5 segundos
Memoria: Valor máx, valor mín y último valor
Rango de prueba: 2,5 – 99,999 rpm.
Distancia de detección: 50 – 500 mm.
Alimentación: Pilas 4 x 1,5v tipo AAA
Dimensiones: 184 x 76 x 30 mm.
BIOGRAFÍAS
Andrade potosí Juan Carlos, nacido el 4 de Noviembre de 1986, estudios primarios cursados en la Unidad Educativa La Victoria de la ciudad de Ibarra, Estudios secundarios cursados en el Instituto Tecnológico 17 de Julio de la provincia de Imbabura
Título Obtenido Bachiller Técnico en Electricidad Industrial.
Cursa el Octavo Semestre de Ingeniería en Telecomunicaciones en la Escuela Politécnica del Ejército.
Cursos: Programación en C++ en P&M Centro de alto Rendimiento Informático 20 horas.
Programación en Visual Basic Básic y Access en P&M Centro de alto Rendimiento Informático 30 horas. Mantenimiento De Computadoras en P&M Centro de alto Rendimiento Informático 20 horas.
Auxiliar. Técnico en Contabilidad Computarizada 120 horas.
Cinturón Marrón en Judo Federación Deportiva De Imbabura.
Curso Intensivo De Ingles Beginner 1 Fundación Alianza Global 40 horas.
Conferencias Asistidas: Nuevas Tecnologías informáticas en la Universidad Técnica del Norte.
Seguridad en Redes, Servicios Gestionados, Redes de Datos, Aplicaciones M2M, Regulación en Telecomunicaciones en la Escuela Politécnica Del Ejército. Seminario De Judo Japonés Federación Deportiva De Imbabura.
Meritos Obtenidos: Abanderado del Pabellón Nacional del Instituto
Tecnológico 17 de Julio, mejor egresado de la promoción en el
Instituto Tecnológico 17 de Julio.
Autor:
Andrade Potosí Juan Carlos
Juan Pablo Córdova
Erika Veloz
Santiago Yépez
Fecha: 15 de junio de 2010
ESCUELA POLITÉCNICA DEL EJÉRCITO
SISTEMAS DE CONTROL
Página anterior | Volver al principio del trabajo | Página siguiente |